iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 21
1
自我挑戰組

來用Laravel做點什麼吧系列 第 21

D21 超簡易版FB - 寄信(1)

  • 分享至 

  • xImage
  •  

再十天我就解脫了,是說突然的靈感用了下Seeder,好玩ヽ( ° ▽°)ノ

今天來寄信。

和之前資料庫連線很像,郵件在config也有個設定檔mail.php,可以直接改裡面的設定,或是去改Laravel的.env

'driver' => env('MAIL_DRIVER', 'smtp'),

Mail Driver設定,今天要用的是Gmail提供的SMTP server,所以維持預設的smtp就好。

'host' => env('MAIL_HOST', 'smtp.mailgun.org'),

Host放的是SMTP Server的Address,改為smtp.gmail.com

'port' => env('MAIL_PORT', 587),

Port等等跟Encyption一起說。

'from' => [
    'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
    'name' => env('MAIL_FROM_NAME', 'Example'),
],

From是放郵件中的寄件人名稱跟寄件人信箱,要特別注意MAIL_FROM_ADDRESSMAIL_FROM_NAME.env沒有參考內容(你是找不到這兩條的),看是要改mail.php或是在環境設定檔增加這兩個。

'encryption' => env('MAIL_ENCRYPTION', 'tls'),

Encryption是設定Email的加密協定,Gmail外寄郵件提供兩中協定,TLS跟SSL,TLS用的Port是587;SSL用的Port是465。

'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),

這兩個就是填你的gmail帳密啦ヽ( ° ▽°)ノ

特別提醒:
注意個人資訊安全,不要讓你的密碼在網路裸奔ヽ( ° ▽°)ノ

完成設定的部分,要到自己的Gmail上去找「允許安全性較低的應用程式」設定,啟用它。

現在來用Route測試看看能不能寄出去。

這是測試信件內文的View:

// email.blade.php
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
</head>
<body>
    <h2>{{ $title }}</h2>
    <div>
        <p>Hi, {{ $name }}.</p>
    </div>
</body>
</html>

web.php,對又它:

// web.php
Route::get('/send', function() {
    $data = ['title' => 'Test', 'name' => 'PS'];
    Mail::send('email', $data, function($message) {
     $message->to('someone@gmail.com')->subject('This is a test email');
    });
    return 'The test email has been sent.';
});

subject()是放主旨,如果信件寄送成功就會在畫面顯示「The test email has been sent.」,如下圖。

查看信箱就可以看到剛才寄出去的測試信了!(是的,我寄給我自己⋯⋯的另一隻帳號)

明天來整合ヽ( ° ▽°)ノ


上一篇
D20 超簡易版FB - 登入註冊(2)
下一篇
D22 超簡易版FB - CRUD(0)
系列文
來用Laravel做點什麼吧30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言